package com.molichuxing.services.infrastructure.service;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.EnterpriseScheduleCarCreateDto;
import com.molichuxing.services.infrastructure.dto.response.EnterpriseScheduleCarCountDto;

import java.util.List;
import java.util.Map;

/**
 * 企业排期
 *
 * @author zhaopenghui
 * @date 2020年6月3日
 */
public interface EnterpriseScheduleCarService extends RootService {

    /**
     * 获取订单车辆排期信息
     *
     * @param scheduleIdList
     * @return
     */
    Map<Integer, EnterpriseScheduleCarCountDto> getScheduleCarMap(List<Integer> scheduleIdList);

    /**
     * 新增首付车辆排期
     *
     * @param createDtos 新增信息
     * @return boolean
     */
    boolean createBatch(List<EnterpriseScheduleCarCreateDto> createDtos);

    /**
     * 终止订单车辆排期
     *
     * @param carId 车辆id
     * @return boolean
     */
    boolean modifyTermination(Integer carId);

    /**
     * 还款修改状态
     *
     * @param scheduleId 排期id
     * @return boolean
     */
    boolean modifyRepay(Integer scheduleId);

    /**
     * 获取已付款
     */
    Map<Integer, EnterpriseScheduleCarCountDto> getPayableMap(List<Integer> scheduleIdList);
}
